#include<iostream>
#include<vector>
#include<string>

using namespace std;

int main(){
	int k;
	string s;
	cin>>s>>k;
	int ret = 0;
    int n = s.length();
    for (int t = 1; t <= 26; t++) {
        int l = 0, r = 0;
        vector<int> cnt(26, 0);
        int tot = 0;
        int less = 0;
        while (r < n) {
            cnt[s[r] - 'a']++;
            if (cnt[s[r] - 'a'] == 1) {
                tot++;
                less++;
            }
            if (cnt[s[r] - 'a'] == k) {
                less--;
            }

            while (tot > t) {
                cnt[s[l] - 'a']--;
                if (cnt[s[l] - 'a'] == k - 1) {
                    less++;
                }
                if (cnt[s[l] - 'a'] == 0) {
                    tot--;
                    less--;
                }
                l++;
            }
            if (less == 0) {
                ret = max(ret, r - l + 1);
            }
            r++;
        }
    }
    cout<<ret;

	return 0; 
}
